--------------------------------------------
-               mmmmm    llll      y     aa-
-aa   ss ppp ss mmmmm    mmmm    yyyy    aa-
-     ss ppp ss mmmmm    mmmm    yyyy      -
-        ppp    mmmmm    mmmm              -
-               mmmmm ss mmmm  ss          -
-ee             mmmmm ss mmmm  ss        mm-
-ee             mmmmm    mmmm            mm-
-                                          -
-                                          -
-    bb                                  dd-
-    bb                                  dd-
----------------                           -
-              -                 ssssss    -
-  aa                            ssssss    -
-  aa                            ssssss    -
-          a   -                           -
-          aa  -                           -
-              -----------------------------
-              -----------------------------
-  aa          -----------------------------
-              -----------------------------
-         aa   -----------------------------
-          a   -----------------------------
-  a           -----------------------------
-  aa          -----------------------------
-              -----------------------------
--------------------------------------------